Better pipeline failure when curl fails on Windows #5985
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related to #5979. The pipeline failed with a pretty unhelpful error message that required some guesswork.
I don't know much about PowerShell so there was some guesswork involved. I iterated a few times over on GitLab; since that history is lost here on GitHub, I'll write out some learnings for future reference here:
curl --fail
is needed for theTest-Path
approach to work, otherwise a corrupted file is created andTest-Path
gives a related error (cannot run on corrupted file).&&
and||
similar to Linux, but I think that might be available only on certain PowerShell versions. I didn't easily see what version of PowerShell GLCI runs. So instead I switched to theCMD1; if (...) CMD2 else FAIL
approach.Here is the job that shows we're getting the intended error:
https://gitlab.com/Rdatatable/data.table/-/jobs/6337145911
Commit e137bb0 is purely stylistic, I didn't test it on GLCI. Not 100% sure it's still correct, so we can remove that commit if needed.